#ifndef __LED_DISPLAY_H
#define __LED_DISPLAY_H

#include "gd32e23x.h"
#include "led_display.h"
#include "tm1640.h"
#include "bsp_adc.h"
typedef enum
{
    TYPE_TIM_TENS_L = 0xc0,
    TYPE_TIM_TENS_H,

    TYPE_TIM_UNITS_L,
    TYPE_TIM_UNITS_H,

    TYPE_VACUUM_TENS_L,
    TYPE_VACUUM_TENS_H,

    TYPE_VACUUM_UNITS_L,
    TYPE_VACUUM_UNITS_H,

    TYPE_NONE_L,
    TYPE_BAT,

    TYPE_STOP,

    TYPE_EXPRESSION = 0xcb
}seg_addr_t;

#define LOW_POW_DIS_LEVEL 3
void led_display_tens_digit(uint8_t tens_set);
void led_display_units_digit(uint8_t units);
void led_display_tim_seg_off(void);
void led_display_shift(uint8_t shift_set);
void led_display_shift_seg_off(void);
void led_display_tim_on(void);
void led_display_tim_off(void);
void led_display_vacuum_on(void);
void led_display_bat(uint8_t bat_level);
void led_display_symbol(uint8_t symbol);
void led_dispialy_timIcon_on(void);
void led_dispialy_timIcon_off(void);
void led_dispialy_vacuumIcon_on(void);
void led_dispialy_vacuumIcon_off(void);

void led_display_stop_on(void);
void led_display_stop_off(void);
void led_display_init_show(
                            uint8_t mode,
                            uint8_t s_gear,
                            uint8_t h_gear,
                            uint8_t *bat,
                            uint8_t task_tim);
void led_display_init(void);

void led_display_on_all(void);

void led_display_off_all(void);

void led_display_LEVEL(uint8_t DIS_LEVEL);
#endif //__LED_DISPLAY_H